package com.example.qt.ptplatform.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.example.qt.ptplatform.entity.FavoriteTorrent;

import java.util.List;

/**
 * 种子收藏服务接口
 */
public interface FavoriteTorrentService {

    /**
     * 保存收藏记录
     * @param favorite 收藏实体
     * @return 是否成功
     */
    boolean save(FavoriteTorrent favorite);

    /**
     * 删除收藏记录
     * @param wrapper 查询条件
     * @return 是否成功
     */
    boolean remove(LambdaQueryWrapper<FavoriteTorrent> wrapper);

    /**
     * 统计收藏数量
     * @param wrapper 查询条件
     * @return 数量
     */
    long count(LambdaQueryWrapper<FavoriteTorrent> wrapper);

    /**
     * 检查是否已收藏
     * @param userId 用户ID
     * @param torrentId 种子ID
     * @return 是否已收藏
     */
    boolean isFavorite(Integer userId, Integer torrentId);

    /**
     * 获取用户收藏的种子ID列表
     * @param userId 用户ID
     * @return 种子ID列表
     */
    List<Integer> getUserFavoriteTorrentIds(Integer userId);
}